<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Code Access Security</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Code_Access_Security"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Code_Access_Security rootpage-Code_Access_Security skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Code Access Security</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><p><b>Code Access Security</b> (CAS), in the <a href="Microsoft_.NET" class="mw-redirect" title="Microsoft .NET">Microsoft .NET</a> framework, is <a href="Microsoft" title="Microsoft">Microsoft</a>'s solution to prevent untrusted code from performing privileged actions. When the <a href="Common_Language_Runtime" title="Common Language Runtime">CLR</a> loads an <a href="Assembly_(CLI)" title="Assembly (CLI)">assembly</a> it will obtain <a href="#Evidence">evidence</a> for the assembly and use this to identify the <a href="#Code_group">code group</a> that the assembly belongs to. A code group contains a permission set (one or more <a href="File_system_permissions" class="mw-redirect" title="File system permissions">permissions</a>). Code that performs a privileged action will perform a code access <a href="#Demands">demand</a> which will cause the CLR to walk up the <a href="Call_stack" title="Call stack">call stack</a> and examine the permission set granted to the assembly of each <a href="Method_(computer_science)" class="mw-redirect" title="Method (computer science)">method</a> in the call stack.
The code groups and permission sets are determined by the administrator of the machine who defines the <a href="#Policy">security policy</a>.
Microsoft considers CAS as obsolete and discourages its use.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> It is also not available in .NET Core and .NET.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Evidence">Evidence</h2></div>
<p>Evidence can be any information associated with an assembly. The default evidences that are used by .NET code access security are:
</p>
<ul><li>Application directory: the directory in which an assembly resides.</li>
<li>Publisher: the assembly's publisher's digital signature (requires the assembly to be signed via <a href="Authenticode" class="mw-redirect" title="Authenticode">Authenticode</a>).</li>
<li><a href="Uniform_Resource_Locator" class="mw-redirect" title="Uniform Resource Locator">URL</a>: the complete URL where the assembly was launched from</li>
<li>Site: the hostname of the URL/Remote Domain/VPN.</li>
<li>Zone: the security zone where the assembly resides</li>
<li><a href="Cryptographic_hash_function" title="Cryptographic hash function">Hash</a>: a cryptographic hash of the assembly, which identifies a specific version.</li>
<li>Strong Name: a combination of the assembly name, version and public key of the signing key used to sign the assembly. The signing key is not an <a href="X.509" title="X.509">X.509</a> certificate, but a custom key pair generated by the strong naming tool, SN.EXE or by <a href="Visual_Studio" title="Visual Studio">Visual Studio</a>.</li></ul>
<p>A developer can use custom evidence (so-called assembly evidence) but this requires writing a security assembly and in version 1.1 of .NET this facility does not work.
</p><p>Evidence based on a hash of the assembly is easily obtained in code. For example, in <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, evidence may be obtained by the following code clause:
</p>
<div class="mw-highlight mw-highlight-lang-csharp mw-content-ltr" dir="ltr"><pre><span class="k">this</span><span class="p">.</span><span class="n">GetType</span><span class="p">().</span><span class="n">Assembly</span><span class="p">.</span><span class="n">Evidence</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Policy">Policy</h2></div>
<p>A policy is a set of expressions that uses evidence to determine a code group membership. A code group gives a permission set for the assemblies within that group. There are four policies in .NET:
</p>
<ul><li>Enterprise: policy for a family of machines that are part of an <a href="Active_Directory" title="Active Directory">Active Directory</a> installation.</li>
<li>Machine: policy for the current machine.</li>
<li>User: policy for the logged on user.</li>
<li>AppDomain: policy for the executing application domain.</li></ul>
<p>The first three policies are stored in <a href="XML" title="XML">XML</a> files and are administered through the .NET Configuration Tool 1.1 (mscorcfg.msc). The final policy is administered through code for the current application domain.
</p><p>Code access security will present an assembly's evidence to each policy and will then take the intersection (that is the permissions common to all the generated permission sets) as the permissions granted to the assembly.
</p><p>By default, the Enterprise, User, and AppDomain policies give full trust (that is they allow all assemblies to have all permissions) and the Machine policy is more restrictive. Since the intersection is taken, this means that the final permission set is determined by the Machine policy.
</p><p>Note that the policy system has been eliminated in .NET Framework 4.0.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Code_group">Code group</h2></div>
<p>Code groups associate a piece of evidence with a named permission set. The administrator uses the .NET Configuration Tool to specify a particular type of evidence (for example, Site) and a particular value for that evidence (for example, www.mysite.com) and then identifies the permission set that the code group will be granted.
</p>
<div class="mw-heading mw-heading2"><h2 id="Demands">Demands</h2></div>
<p>Code that performs some privileged action will make a demand for one or more permissions. The demand makes the CLR walk the call stack and for each method the CLR will ensure that the demanded permissions are in the method's assembly's granted permissions. If the permission is not granted then a security <a href="Exception_(computer_science)" class="mw-redirect" title="Exception (computer science)">exception</a> is thrown. This prevents downloaded code from performing privileged actions. For example, if an assembly is downloaded from an untrusted site the assembly will not have any file IO permissions and so if this assembly attempts to access a file, will throw an exception preventing the call.
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/previous-versions/dotnet/framework/code-access-security/code-access-security-policy-compatibility-and-migration">Code Access Security Policy Compatibility and Migration</a></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/ff527276.aspx">Summary of Changes in Code Access Security</a></span>
</li>
</ol></div></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.codeproject.com/KB/security/UB_CAS_NET.aspx">Understanding .NET Security</a></li>
<li><a rel="nofollow" class="external text" href="http://msdn2.microsoft.com/en-us/library/cb6t8dtz.aspx">Code Access Security Policy Tool (Caspol.exe)</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" ยท ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby=".NET630" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id=".NET630" style="font-size:114%;margin:0 4em"><a href=".NET" title=".NET">.NET</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><a href="Microsoft_.NET_strategy" title="Microsoft .NET strategy">.NET strategy</a></li>
<li><a href="List_of_.NET_libraries_and_frameworks" title="List of .NET libraries and frameworks">Libraries and frameworks</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Implementations</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href=".NET" title=".NET">.NET</a> (Core)</li>
<li><a href=".NET_Framework" title=".NET Framework">.NET Framework</a>
<ul><li><a href=".NET_Framework_version_history" title=".NET Framework version history">Version history</a></li></ul></li>
<li><a href=".NET_Compact_Framework" title=".NET Compact Framework">.NET Compact Framework</a></li>
<li><a href=".NET_Micro_Framework" title=".NET Micro Framework">.NET Micro Framework</a></li>
<li><a href="DotGNU" title="DotGNU">DotGNU</a></li>
<li><a href="Mono_(software)" title="Mono (software)">Mono</a></li>
<li><a href="XNA_Framework" class="mw-redirect" title="XNA Framework">XNA Framework</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Software_architecture" title="Software architecture">Architecture</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Common_Language_Runtime" title="Common Language Runtime">Common Language Runtime</a> (CLR)</li>
<li><a href="COM_Interop" title="COM Interop">COM Interop</a></li>
<li><a href="Framework_Class_Library" title="Framework Class Library">Framework Class Library</a> (FCL)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Software_component" title="Software component">Components</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ADO.NET" title="ADO.NET">ADO.NET</a>
<ul><li><a href="Entity_Framework" title="Entity Framework">Entity Framework</a></li></ul></li>
<li><a href="ASP.NET" title="ASP.NET">ASP.NET</a>
<ul><li><a href="ASP.NET_Web_Forms" title="ASP.NET Web Forms">Web Forms</a></li>
<li><a href="ASP.NET_AJAX" title="ASP.NET AJAX">AJAX</a></li>
<li><a href="ASP.NET_Core" title="ASP.NET Core">Core</a></li>
<li><a href="ASP.NET_Dynamic_Data" title="ASP.NET Dynamic Data">Dynamic Data</a></li>
<li><a href="ASP.NET_MVC" title="ASP.NET MVC">MVC</a></li>
<li><a href="ASP.NET_Razor" title="ASP.NET Razor">Razor</a></li></ul></li>
<li><a href="Avalonia_(software_framework)" title="Avalonia (software framework)">Avalonia</a></li>
<li><a href="ClickOnce" title="ClickOnce">ClickOnce</a></li>
<li><a href="Dynamic_Language_Runtime" title="Dynamic Language Runtime">Dynamic Language Runtime</a></li>
<li><a href="Extensible_Application_Markup_Language" title="Extensible Application Markup Language">Extensible Application Markup Language</a> (XAML)</li>
<li><a href="Language_Integrated_Query" title="Language Integrated Query">Language Integrated Query</a> (LINQ)</li>
<li><a href="Managed_Extensibility_Framework" title="Managed Extensibility Framework">Managed Extensibility Framework</a></li>
<li><a href="Microsoft_Silverlight" title="Microsoft Silverlight">Microsoft Silverlight</a></li>
<li><a href="Microsoft_XNA" title="Microsoft XNA">Microsoft XNA</a></li>
<li><a href="Parallel_Extensions" title="Parallel Extensions">Parallel Extensions</a></li>
<li><a href="Windows_Communication_Foundation" title="Windows Communication Foundation">Windows Communication Foundation</a> (WCF)
<ul><li><a href="WCF_Data_Services" title="WCF Data Services">WCF Data Services</a></li></ul></li>
<li><a href="Windows_Forms" title="Windows Forms">Windows Forms</a> (WinForms)</li>
<li><a href="Windows_Identity_Foundation" title="Windows Identity Foundation">Windows Identity Foundation</a> (WIF)</li>
<li><a href="Windows_Presentation_Foundation" title="Windows Presentation Foundation">Windows Presentation Foundation</a> (WPF)</li>
<li><a href="Windows_Workflow_Foundation" title="Windows Workflow Foundation">Windows Workflow Foundation</a> (WF)</li>
<li><a href=".NET_Remoting" title=".NET Remoting">.NET Remoting</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Programming_tool" title="Programming tool">Tools</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Decompiler" title="Decompiler">Decompilers</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href=".NET_Reflector" title=".NET Reflector">.NET Reflector</a></li>
<li><a href="JetBrains" title="JetBrains">dotPeek</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Obfuscation_(software)" title="Obfuscation (software)">Obfuscators</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Dotfuscator" title="Dotfuscator">Dotfuscator</a></li>
<li><a href="Redgate" title="Redgate">SmartAssembly</a></li></ul>
</div></td></tr><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CLR_Profiler" title="CLR Profiler">CLR Profiler</a></li>
<li><a href="ILAsm" title="ILAsm">ILAsm</a></li>
<li><a href=".NET_Compiler_Platform" class="mw-redirect" title=".NET Compiler Platform">.NET Compiler Platform</a></li>
<li><a href="Native_Image_Generator" title="Native Image Generator">Native Image Generator</a> (NGen)</li>
<li><a href="XAMLPad" class="mw-redirect" title="XAMLPad">XAMLPad</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Integrated_development_environment" title="Integrated development environment">IDEs</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Microsoft_Visual_Studio" class="mw-redirect" title="Microsoft Visual Studio">Visual Studio</a>
<ul><li><a href="Microsoft_Blend" title="Microsoft Blend">Blend</a></li>
<li><a href="Microsoft_Visual_Studio_Express" title="Microsoft Visual Studio Express">Express</a></li></ul></li>
<li><a href="MonoDevelop" title="MonoDevelop">MonoDevelop</a></li>
<li><a href="SharpDevelop" title="SharpDevelop">SharpDevelop</a></li>
<li><a href="Xamarin_Studio" class="mw-redirect" title="Xamarin Studio">Xamarin Studio</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Organizations</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href=".NET_Foundation" title=".NET Foundation">.NET Foundation</a></li>
<li><a href="Microsoft" title="Microsoft">Microsoft</a></li>
<li><a href="Xamarin" title="Xamarin">Xamarin</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li>
<li><span class="noviewer" typeof="mw:File"><span title="List-Class article"></span></span> <a href=".NET_Framework_version_history" title=".NET Framework version history">List</a></li>
<li><span class="noviewer" typeof="mw:File"><span title="Commons page"></span></span> <a href="https://commons.wikimedia.org/wiki/Category:.NET" class="extiw external" title="commons:Category:.NET">Commons</a></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Common_Language_Infrastructure106" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Common_Language_Infrastructure106" style="font-size:114%;margin:0 4em"><a href="Common_Language_Infrastructure" title="Common Language Infrastructure">Common Language Infrastructure</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Architecture</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Application_domain" title="Application domain">Application domain</a></li>
<li><a href="Common_Intermediate_Language" title="Common Intermediate Language">Common Intermediate Language</a>
<ul><li><a href="List_of_CIL_instructions" title="List of CIL instructions">instructions</a></li></ul></li>
<li><a href="Common_Type_System" title="Common Type System">Common Type System</a></li>
<li><a href="Platform_Invocation_Services" title="Platform Invocation Services">Platform Invocation Services</a></li>
<li><a href="Virtual_Execution_System" title="Virtual Execution System">Virtual Execution System</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Components</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Assembly_(CLI)" title="Assembly (CLI)">Assembly</a></li>
<li><a href="Delegate_(CLI)" title="Delegate (CLI)">Delegate</a></li>
<li><a href="Global_Assembly_Cache" title="Global Assembly Cache">Global Assembly Cache</a></li>
<li><a href="Manifest_(CLI)" title="Manifest (CLI)">Manifest</a></li>
<li><a href="Metadata_(CLI)" title="Metadata (CLI)">Metadata</a></li>
<li><a href="Standard_Libraries_(CLI)" title="Standard Libraries (CLI)">Standard Libraries</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Implementations</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Microsoft</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href=".NET" title=".NET">.NET</a></li>
<li><a href=".NET_Framework" title=".NET Framework">.NET Framework</a></li>
<li><a href=".NET_Compact_Framework" title=".NET Compact Framework">.NET Compact Framework</a></li>
<li><a href=".NET_Micro_Framework" title=".NET Micro Framework">.NET Micro Framework</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Mono_(software)" title="Mono (software)">Mono</a></li>
<li><a href="DotGNU" title="DotGNU">DotGNU</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_CLI_languages" title="List of CLI languages">Languages</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Major</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a></li>
<li><a href="Visual_Basic_(.NET)" title="Visual Basic (.NET)">Visual Basic</a></li>
<li><a href="F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a></li>
<li><a href="PowerShell" title="PowerShell">PowerShell</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Axum_(programming_language)" title="Axum (programming language)">Axum</a></li>
<li><a href="A_Sharp_(.NET)" title="A Sharp (.NET)">A#</a></li>
<li><a href="Boo_(programming_language)" title="Boo (programming language)">Boo</a></li>
<li><a href="Clojure" title="Clojure">Clojure</a></li>
<li><a href="Cobra_(programming_language)" title="Cobra (programming language)">Cobra</a></li>
<li><a href="C%2B%2B/CLI" title="C++/CLI">C++/CLI</a></li>
<li><a href="IronScheme" title="IronScheme">IronScheme</a></li>
<li><a href="IronPython" title="IronPython">IronPython</a></li>
<li><a href="IronRuby" title="IronRuby">IronRuby</a></li>
<li><a href="JScript_.NET" title="JScript .NET">JScript .NET</a></li>
<li><a href="Visual_J_Sharp" title="Visual J Sharp">J#</a></li>
<li><a href="Nemerle" title="Nemerle">Nemerle</a></li>
<li><a href="Oxygene_(programming_language)" title="Oxygene (programming language)">Oxygene</a></li>
<li><a href="Phalanger_(compiler)" title="Phalanger (compiler)">Phalanger</a></li>
<li><a href="Q_Sharp" title="Q Sharp">Q#</a></li>
<li><a href="Scala_(programming_language)" title="Scala (programming language)">Scala</a></li>
<li><a href="Microsoft_Small_Basic" title="Microsoft Small Basic">Small Basic</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Comparison</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Comparison_of_C_Sharp_and_Java" title="Comparison of C Sharp and Java">C# and Java</a></li>
<li><a href="Comparison_of_C_Sharp_and_Visual_Basic_.NET" title="Comparison of C Sharp and Visual Basic .NET">C# and Visual Basic .NET</a></li>
<li><a href="Comparison_of_Visual_Basic_and_Visual_Basic_.NET" title="Comparison of Visual Basic and Visual Basic .NET">Visual Basic and Visual Basic .NET</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2022-12-21" href="https://en.wikipedia.org/wiki/?title=Code_Access_Security&oldid=1128692000">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>